Adapt barycentric weights to the lifted protocol.#1288
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## leo/fix_nonparallel #1288 +/- ##
====================================================
Coverage 91.97% 91.97%
====================================================
Files 119 119
Lines 14958 14966 +8
Branches 14958 14966 +8
====================================================
+ Hits 13757 13765 +8
Misses 1111 1111
Partials 90 90 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare reviewed 2 files and all commit messages, and made 2 comments.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on @leo-starkware).
crates/stwo/src/prover/pcs/mod.rs line 128 at r1 (raw file):
// TODO(Leo): the computation `point.repeated_double(max_log_size - log_size)` is // likely repeated a bunch of times in a typical flat air. Consider moving it // outside the loop.
I guess it doesn't matter in the parallel case, right?
Code quote:
// TODO(Leo): the computation `point.repeated_double(max_log_size - log_size)` is
// likely repeated a bunch of times in a typical flat air. Consider moving it
// outside the loop.crates/stwo/src/prover/pcs/quotient_ops.rs line 221 at r1 (raw file):
} fn prove_and_verify_pcs<B: BackendForChannel<Blake2sMerkleChannel>, const STORE_COEFF: bool>(
Suggestion:
STORE_COEFFS96610fa to
1b3066c
Compare
leo-starkware
left a comment
There was a problem hiding this comment.
@leo-starkware made 2 comments.
Reviewable status: 1 of 2 files reviewed, 1 unresolved discussion (waiting on @Gali-StarkWare).
crates/stwo/src/prover/pcs/mod.rs line 128 at r1 (raw file):
Previously, Gali-StarkWare wrote…
I guess it doesn't matter in the parallel case, right?
it also matters in parallel, in the sense that some threads could save this computation. But to do it one would need a map that is shareable among threads, not sure if worth the effort.
crates/stwo/src/prover/pcs/quotient_ops.rs line 221 at r1 (raw file):
} fn prove_and_verify_pcs<B: BackendForChannel<Blake2sMerkleChannel>, const STORE_COEFF: bool>(
done
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare reviewed 1 file and all commit messages, made 1 comment, and resolved 1 discussion.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on @leo-starkware).
crates/stwo/src/prover/pcs/mod.rs line 128 at r1 (raw file):
Previously, leo-starkware wrote…
it also matters in parallel, in the sense that some threads could save this computation. But to do it one would need a map that is shareable among threads, not sure if worth the effort.
Yes, but the total time would not change even if we had another dashmap..
The non-parallel case is much less efficient, but I'm not sure we care about it (@gilbens-starkware wdyt?)
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare made 1 comment.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on @leo-starkware).
cdc2ac7 to
47186dd
Compare
1b3066c to
5221f96
Compare
5221f96 to
55445cb
Compare
* Add lifted Merkle verifier. (#1234) * Add SIMD MerkleOpsLifted. (#1235) * Add auxiliary structs to vcs_lifted. (#1247) * Add generic blake for lifted vcs. (#1252) * Change queries from vec to slice. (#1250) * Add lift_and_accumulate. (#1245) * Modify finalize of DomainEvaluationAccumulator. (#1246) * Add skeleton of lifted quotient ops. (#1248) All the code related to the previous architecture of quotient ops has been removed. * Add empty poseidon merkle hasher lifted. (#1253) * Change channel's assoc type to MerkleHasherLifted. (#1254) * Add CPU QuotientOps impl. (#1249) * Make pcs prove lifted values. (#1251) * Add pcs verifier lifted. (#1255) * Modify trace step in masks and eval at point. (#1257) * Add CpuBackend impl to ComponentProver. (#1258) * Add mixed wide fibonacci test. (#1259) * Add m31 blake hasher to simd. (#1260) * Allow small traces with cpu, fix bug. (#1261) * Add lift and accumulate in simd. (#1262) * Add simd impl of accumulate_numerators. (#1263) * Add `compute_quotients_and_combine`. (#1266) * Change fri decommit to return a vec of query positions. (#1269) * Commit to a single column in fri. (#1270) * Update docs and rename. (#1271) * Remove iterations in fri verifier decommit. (#1272) * Remove unneeded structure. (#1273) * Update docs. (#1274) * Add poseidon hasher. (#1283) * Add SIMD implementation of poseidon MerkleOpsLifted. (#1280) * Adapt the queries for the preprocessed trees. (#1281) Co-authored-by: Alon F <alonf@starkware.co> * Fix non-parallel bugs. (#1287) * Adapt barycentric weights to the lifted protocol. (#1288) * Change order of the alphas to the samples order. (#1292) * Change queried values layout. (#1293) * Add periodicity samples. (#1294) * Improve performance of cpu merkle. (#1284) * Fix lifting size in fri_answers and add test. (#1296) * Optimize blake simd merkle lifted. (#1291) * Add maximal size periodicity checks. (#1301) * Add dummy serde and reexport MerkleHasherLifted. (#1297) These changes make it easier to integrate with stwo_cairo_prover. --------- Co-authored-by: Alon F <alonf@starkware.co>

No description provided.